#ifndef			PVPB_HH__
# define		PVPB_HH__

# include		<map>
# include		<vector>
# include		<SFML/Graphics.hpp>
# include		"Icontext.hh"
# include		"ImgException.hh"
# include		"GUI.hh"
# include		"GObject.hh"
# include		"Interpreter.hh"
# include		"Data.hh"

class			PvpB : public Icontext
{
public:
  PvpB(sf::RenderWindow&, IGUI::e_context&, sf::Event&, Gomoku::Data&);
  ~PvpB(void);
  virtual void		run(void);

private:
  virtual void		gere_key(void);
  virtual void		mouse(void);
  virtual void		resized(void);
  void			checkWin(void);
  void			mouseHover(void);
  void			restart(void);
  void			takeCmd(void);
  void			play(std::string&);
  std::string		takeWord(std::string&, int);

  Gomoku::Data		&info;
  IGUI::e_context	&focus;
  std::map<sf::Event::EventType, void (PvpB::*)(void)> action;
  std::map<std::string, void (PvpB::*)(std::string&)> proto;
  sf::RenderWindow	&App;
  sf::Event		&Event;
  const sf::Input	&Input;
  sf::Image		_Platform;
  sf::Sprite		Platform;
  sf::Image		_bpawn;
  sf::Image		_wpawn;
  sf::Image		_menu;
  sf::Sprite		menu;
  std::map<int, GObject*> pawn;
  std::vector<GObject*> focusmouse;
  sf::String		Score;
  int			sizeLeftMenu;
  bool			p1;
  Interpreter		Interpret;
};

#endif		/* !PVPB_HH__ */
